Ext.define("app.login", {
	requires : [ 'app.validator.verification' ],
	constructor : function() {
		var me = this;
		var loginForm = me.getLoginForm();
		var panel = me.getBackPanel();
		me.win = widget.win({
			width : '100%',
			height : '100%',
			layout : 'absolute',
			baseCls : '.boyon-panel-no-border',
			closable : false,
			draggable : false,
			resizable : false,
			shadow : false,
			border : false,
			frame : false,
			bodyStyle : 'background:#ffffff; padding:0px;border-style:none;',
			items : [ panel, loginForm ]
		}).show();
	},
	login : function() {
		var me = this;
		var encrypt = new JSEncrypt();
		encrypt.setPublicKey(utils.getRsaKey());
		var account = encrypt.encrypt(me.account.getValue());
		var pass = encrypt.encrypt(me.pass.getValue());
		var code = me.vcode.getValue();
		evt.post(me, systemUrl + '/beyon/login', {
			'account' : account,
			'pass' : pass,
			'code' : code
		}, function(rec) {
			if (rec.rpc == 200) {
				me.win.close();
				utils.setAccount(rec.data);
				utils.setValue('boyon', rec.data.userSessionId);
				Ext.create('app.layout.container', {
				}).show();
			} else {
				utils.removeAccount();
				me.vcode.loadCodeImg();
			}
		});
	},
	getBackPanel : function() {
		return Ext.create('Ext.panel.Panel', {
			width : '100%',
			height : 360,
			x : 0,
			y : 150,
			bodyStyle : {
				background : 'url(html/bg.jpg) no-repeat #00FFFF'
			}
		});
	},
	getLoginForm : function() {
		var me = this;
		me.account = widget.txt({
			name : 'login',
			labelAlign : 'top',
			msgTarget : 'qtip',
			anchor : '100%',
			fieldLabel : '登录账户',
			allowBlank : false
		});
		me.pass = widget.pass({
			name : 'pass',
			labelAlign : 'top',
			msgTarget : 'qtip',
			anchor : '100%',
			fieldLabel : '登录密码',
			allowBlank : false
		});
		me.vcode = Ext.create('app.validator.verification', {
			style : 'margin: 0 5px 0 5px',
			labelAlign : 'top',
			fixed : true,
			codeUrl : systemUrl + '/beyon/verification',
			name : 'code',
			unique : utils.getValue('boyon'),
			allowBlank : false,
			columnWidth : 1,
			inputWidth : 220,
			fieldLabel : '验证码'
		});
		me.loginbtn = widget.btn({
			text : '登录',
			scope : me,
			style : 'margin: 10px 5px 0 5px',
			columnWidth : 1,
			handler : me.login
		});
		me.form = widget.form({
			bodyPadding : '10 10 0',
			width : 250,
			x : 700,
			y : 200,
			height : 280,
			border : false,
			frame : false,
			bodyStyle : {
				background : 'url(html/bg.jpg) no-repeat #00FFFF'
			},
			items : [ me.account, me.pass, me.vcode, me.loginbtn ]
		});
		return me.form;
	}
});